#pragma once

#include "prj_typedef.h"

bool gnss_send_uart_data(const uint8_t *data, uint32_t len, uint8_t wait_class, uint8_t wait_id, uint32_t wait_ms);
void gnss_protocol_analysis_nmea(const char *data);
void gnss_protocol_analysis_ubx(const char *data);
bool gnss_get_version(void);
void gnss_get_config_source(void);
void gnss_read_otp(void);
void gnss_write_otp(void);
void gnss_set_baudrate(void);
void gnss_save_config(void);
void gnss_turn_off_time_pulses(void);
void gnss_save_sos(void);
void gnss_clear_sos(void);
void gnss_turn_on_gnss(void);
void gnss_turn_off_gnss(void);
void gnss_power_mode_setup(uint8_t mode);
void gnss_reset(uint8_t mode);
void gnss_sync_utc_time(void);
void gnss_turn_on_odometer(uint8_t sport_type);
void gnss_reset_odometer(void);
void gnss_turn_off_odometer(void);
void gnss_log_get_log_info(void);
void gnss_log_create(void);
void gnss_log_start(void);
void gnss_log_stop(void);
void gnss_log_delete(void);
void gnss_log_retrieve(uint32_t start_number, uint32_t count);
void gnss_offline_data(void);
void gnss_offline_stop(void);
void gnss_offline_clear(void);
void gnss_send_mga_ano_data(uint8_t *data);
void gnss_send_mga_ini_data(uint8_t *data);
void gnss_enable_ack_aiding(void);
void gnss_disable_ack_aiding(void);
